fun foo() {
    a?.b++
    a?.b?.c++
    a?.b.c++

    a?.b[0]++
    a?.b?.c[0]++
    a?.b.c[0]++

    a?.b[0][0]++
    a?.b?.c[0][0]++
    a?.b.c[0][0]++

    a?.b.d()++
}

fun foo2() {
    ++a?.b
    ++a?.b?.c
    ++a?.b.c

    ++a?.b[0]
    ++a?.b?.c[0]
    ++a?.b.c[0]

    ++a?.b[0][0]
    ++a?.b?.c[0][0]
    ++a?.b.c[0][0]

    ++a?.b.d()
}
